ostree_mutable_tree_set_metadata_checksum (mtree, ostree_repo_file_tree_get_metadata_checksum (repo_dir));
- /* If the mtree was empty beforehand, the checksums on the mtree can simply
- * become the checksums on the tree in the repo. Super simple. */
- if (g_hash_table_size (ostree_mutable_tree_get_files (mtree)) == 0 &&
- g_hash_table_size (ostree_mutable_tree_get_subdirs (mtree)) == 0)
- {
- ostree_mutable_tree_set_contents_checksum (mtree, ostree_repo_file_tree_get_contents_checksum (repo_dir));
- ret = TRUE;
- goto out;
- }
-
filter_result = OSTREE_REPO_COMMIT_FILTER_ALLOW;
}
else
set -euo pipefail
-echo "1..59"
+echo "1..60"
$OSTREE checkout test2 checkout-test2
echo "ok checkout"
$OSTREE commit -b test2 -s "no xattrs" --no-xattrs
echo "ok commit with no xattrs"
+mkdir tree-A tree-B
+touch tree-A/file-a tree-B/file-b
+
+$OSTREE commit -b test3-1 -s "Initial tree" --tree=dir=tree-A
+$OSTREE commit -b test3-2 -s "Replacement tree" --tree=dir=tree-B
+$OSTREE commit -b test3-combined -s "combined tree" --tree=ref=test3-1 --tree=ref=test3-2
+
+$OSTREE checkout test3-combined checkout-test3-combined
+
+assert_has_file checkout-test3-combined/file-a
+assert_has_file checkout-test3-combined/file-b
+
+echo "ok commit combined ref trees"
+
# NB: The + is optional, but we need to make sure we support it
cd ${test_tmpdir}
cat > test-statoverride.txt <<EOF